package com.meet.convert;

import lombok.extern.slf4j.Slf4j;
import org.springframework.util.CollectionUtils;

import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
import java.util.stream.Collectors;

/**
 * <p>文件名称：BaseConvert  </p>
 * <p>文件描述： </p>
 * <p>版权所有： 版权所有(C)2017-2099</p>
 * <p>公   司： 八维通 </p>
 * <p>内容摘要： </p>
 * <p>其他说明： </p>
 * <p>完成日期：2023/8/2</p>
 *
 * @author zhongjiafeng@bwton.com
 * @version 1.0
 * @Date :Created by 2023/8/2.
 */
@Slf4j
public class BaseConvert {

    /**
     * 列表转换
     *
     * @param requestList     输入列表
     * @param convertFunction 转换方法
     * @param <T>             输入类型
     * @param <R>             输出类型
     * @return 输出List
     */
    public static <T, R> List<R> transList(List<T> requestList, Function<T, R> convertFunction) {

        if (CollectionUtils.isEmpty(requestList)) {
            return new ArrayList<>(0);
        }

        return requestList.stream().map(convertFunction).collect(Collectors.toList());
    }

}
